package main

import (
	"fmt"
	"sync"
)

var (
	x  int64
	wg sync.WaitGroup
	lock sync.Mutex // 互斥锁.它能够保证同一时刻只有一个goroutine
)

func Add() {
	for i := 0; i < 500; i++ {
		lock.Lock() // 加锁
		x = x + 1
		lock.Unlock() // 解锁
	}
	wg.Done()
}

func main() {
	wg.Add(2)
	go Add()
	go Add()
	wg.Wait()
	fmt.Println(x)
}
